package cn.tedu.oop;

import jdk.nashorn.internal.ir.CatchNode;

/*本类用于this测试1*/
public class TestVariableThis1 {
    public static void main(String[] args) {
        Cat cat=new Cat();
        cat.eat();


}

}
class Cat {
    //2.定义一个成员变量--类里方法外
    int s=999;
    int sum = 100;

    public void eat() {
        //3.定义一个局部变量--方法
        int sum = 10;
        /*变量有一个使用原则：就近原则*/
        /*如果出现了成员变量与局部变量同名的情况，可以使用this来指定成员变量，
        如果不指定的话，使用的就是使用的就近原则，局部变量
        * 那如果只有一个成员变量的话，没有同名需要指定吗？那肯定不用呀
        * this相当于本类的对象，可以理解成Cat this = new Cat（） 看作是 但不是
        * */
        System.out.println("sum = " + sum);
        System.out.println("this.sum = "+this.sum);
        System.out.println("s = " + s);
    }

    public Cat() {

    }

    public Cat(int s) {
        this.s = s;
    }

}

